The present invention relates generally to engine control during operation of an internal combustion engine using less than all of the available working chambers. More particularly, the invention relates to the use of an averaging filter that varies as a function of the firing fraction on various engine/power train measurements that may oscillate at a frequency/period related to the firing fraction.
A number of engine operating parameters are sensed during operation of an engine and are used directly or indirectly in various control schemes. By way of example, some of the sensed operating parameters include engine speed (RPM); various intake air measurements such as intake manifold pressure (MAP) or intake mass airflow (MAF); cam or camshaft position, phase or speed; etc. Other engine operating parameters sometimes used in engine control, such as mass air charge (MAC) are typically calculated on the other basis of other inputs often including one or more of the foregoing measured parameters.
During normal, all-cylinder engine operation, the actual engine speed and intake air measurements such as manifold pressure may vary slightly over the course of an engine cycle. For example, small variations in the engine speed will occur due to the varied forces applied to the crankshaft as the pistons transition through their respective working cycles. If unaccounted for, these variations can cause problems in various control schemes and algorithms. These variations tend to be relatively small and occur at a frequency equivalent to the frequency of the firing opportunities as illustrated in FIG. 1. Since the variations are high frequency and relatively consistent, they can readily be filtered out using a simple low pass filter.
The Applicant has developed a technology for improving the fuel efficiency of an engine by operating the engine in a dynamic skip fire mode. In general, skip fire engine control contemplates selectively skipping the firing of certain cylinders during selected firing opportunities. Thus, a particular cylinder may be fired during one engine cycle and then skipped during the next engine cycle and selectively skipped or fired during the next. Skip fire engine operation is distinguished from conventional variable displacement engine control in which a designated set of cylinders are deactivated substantially simultaneously and remain deactivated as long as the engine remains in the same variable displacement mode. Thus, the sequence of specific cylinders firings will always be exactly the same for each engine cycle during operation in a variable displacement mode, whereas that is often not the case during skip fire operation. For example, an 8 cylinder variable displacement engine may deactivate half of the cylinders (i.e. 4 cylinders) so that it is operating using only the remaining 4 cylinders. Commercially available variable displacement engines available today typically support only two or at most three fixed mode displacements. In general, skip fire engine operation facilitates finer control of the effective engine displacement than is possible using a conventional variable displacement approach. For example, firing every third cylinder in a 4 cylinder engine would provide an effective displacement of ⅓rd of the full engine displacement, which is a fractional displacement that is not obtainable by simply deactivating a set of cylinders.
During skip fire operation, the engine speed and air intake measurements tend to vary more significantly from firing to firing and occur at lower frequencies due to the fact that the actual firing events happen less frequently and tend to utilize larger air and fuel charges.
Although conventional techniques for filtering sensed engine operating parameters work well, they don't tend to work as well during skip fire operation. The present application describes techniques for averaging and/or filtering sensed operating parameters that are particularly well suited for use during skip fire operation of an engine.